package cn.edu.lingnan.part.service;

import cn.edu.lingnan.part.entity.Admin;
import cn.edu.lingnan.part.entity.AdminQuery;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.Date;
import java.util.List;

/**
 * (Admin)表服务接口
 *
 * @author makejava
 * @since 2020-05-25 17:35:58
 */
public interface AdminService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    Admin queryById(Integer id);

    /**
     * 通过account查询单条数据
     *
     * @param account 主键
     * @return 实例对象
     */
    Admin queryByAccount(String account);

    /**
     * 查询多条数据(分页查询)
     *
     * @param offset 查询起始位置
     * @param limit 查询条数
     * @return 对象列表
     */
    IPage<Admin> queryAllByLimit(int offset, int limit, AdminQuery admin);

    /**
     * 查询全部管理员
     * @param admin admin对象
     * @return
     */
    List<Admin> queryAll(AdminQuery admin);

    /**
     * 新增数据
     *
     * @param admin 实例对象
     * @return 实例对象
     */
    Admin insert(Admin admin);

    /**
     * 修改数据
     *
     * @param admin 实例对象
     * @return 实例对象
     */
    int update(Admin admin);

    /**
     * 用户登录就修改他的最后一次登录时间
     * @param lastLoginData
     * @param account
     * @return
     */
    boolean updateTime(Date lastLoginData, String account);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(List<Integer> id);

    /**
     * 通过用户名以及密码登录
     * @param account
     * @param password
     * @return
     */

    Admin login(String account,String password);
}